/*
 * lista.h
 *
 *  Created on: 05/06/2011
 *      Author: joao e sheila
 */

#ifndef LISTA_H_
#define LISTA_H_

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINHA 256
#define FIM -1
#define MAX 1000 /* maximo de elementos em uma lista */
#define indice "indice.idx"

typedef int TipoElemento;
typedef int TipoPosicao;

typedef struct {
    int comp;
    TipoElemento elementos[MAX]; //vetor de elementos da lista
} LISTA;

void Cria(LISTA *L);
TipoElemento Acessa (TipoPosicao p, LISTA *L);
void ImprimeLista (LISTA *L);
void Insere (TipoElemento x, TipoPosicao p, LISTA *L);
void Adiciona(TipoElemento x, LISTA *L);
int Vazia (LISTA *L);
int Localiza (TipoElemento x, LISTA *L);
TipoPosicao Primeiro (LISTA *L);
TipoPosicao Seguinte (TipoPosicao p, LISTA *L);
void Interseccao(LISTA *A, LISTA *B, LISTA *C);
void Soma(LISTA *A, LISTA *B, LISTA *C);
void Diferenca (LISTA *A, LISTA *B, LISTA *C);
void CopiaLista (LISTA *A, LISTA *B);


#endif /* LISTA_H_ */
